package com.info.zhiduoduo.repository.entity.company;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@TableName("zdd_company_zhaoshang_sub_ledger")
public class CompanyZhaoshangSubLedger extends Model<CompanyZhaoshangSubLedger> {

	@TableId(type = IdType.AUTO)
	/**
	 * 子帐本id
	 */
	private Integer id;

	/**
	 * 记账子单元编号	dmanbr	String(20)	Y
	 */
	private String ledgerNo;

	/**
	 * 子帐本名称 （企业名称）
	 */
	private String ledgerName;

	/**
	 * 企业id
	 */
	private Integer compid;

	/**
	 * 企业支付方式 商户名 （只能是招商银行对应的那几个商户）
	 */
	private Integer merchantId;

	/**
	 * 账号
	 */
	private String accountNo;

	/**
	 * 记账子单元币种	dmaccy	String(2)	Y	RMB: 10
	 */
	private String currency;

	/**
	 * 余额
	 */
	private BigDecimal balance;

	/**
	 * 新建记账子单元接口请求id
	 */
	private String reqid;

	/**
	 * 新建记账子单元接口应答id
	 */
	private String rspid;

	/**
	 * 1. 创建中 2. 成功 3. 失败 4. 已销户
	 */
	private Integer state;

	/**
	 * 招商银行记账子单元状态 A. 有效 D. 删除 B. 创建中
	 */
	private String stscod;

	/**
	 * 生效日期
	 */
	private Date effectiveDate;

	/**
	 * 是否允许透支ovrctl string(1)
	 */
	private String overdraft;

	/**
	 * 付方校验标志: Y：校验付款方账号 N：不校验
	 */
	private String rltchk;

	/**
	 * 入账方式: Y：非关联付款方账号入对应记账子单元 N：非关联付款方账号入默认记账子单元 R：非关联账号拒绝入账空表示未设置关联付方账号
	 */
	private String tlyopr;

	/**
	 * 退票处理方式: Y:退回原记账子单元账户 N：退回结算户
	 */
	private String bcktyp;

	/**
	 * 余额非零时是否可关闭: Y：可关闭
	 */
	private String clstyp;

	/**
	 * 错误码errcodstring(7)
	 */
	private String errcod;

	/**
	 * 错误描述errtxtz(192)
	 */
	private String errtxt;

	/**
	 * createtime
	 */
	private Date createtime;

	/**
	 * updatetime
	 */
	private Date updatetime;

	@Override
	protected Serializable pkVal() {
		return id;
	}
}
